Method and system to configure an aftermarket interface module using a graphical user interface

ABSTRACT

A system to remotely configure an aftermarket interface module using a graphical user interface (“GUI”) is disclosed. The system includes a GUI adapted to display on a computer. The GUI permits a user to select a vehicle model, year and make to determine the functions of the OEM controls. In addition, the GUI permits a user to select an aftermarket electronics brand and model that the OEM controls will operate. The user selects a particular control signal configuration using the GUI for each of the OEM controls. An interface module is flash programmed with the particular control signal configuration. The interface module is connected to the OEM controls and the aftermarket electronics, where the interface module receives the OEM control signals and controls the aftermarket electronics using the particular control signal configuration.

I. CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application No.61/658,113 filed Jun. 26, 2012. The disclosure of the provisionalapplication is incorporated herein by reference.

II. FIELD

The present disclosure is generally related to a system and method toconfigure an aftermarket interface module using a graphical userinterface.

III. DESCRIPTION OF RELATED ART

New vehicles are often provided with onboard entertainment systems,which offer connectivity, voice control and other features that enhancedrivers' experiences while improving safety. As always, certainconsumers want to upgrade and customize their audio and entertainmentsystems while maintaining and integrating the original equipmentmanufacturer (“OEM”) system functionality. However, aftermarketentertainment systems typically do not function with OEM vehiclecontrols (e.g., steering wheel controls) without an interface.Interfaces have been developed that are designed to function with aparticular brand of electronics and vehicle. A shortcoming of theseinterfaces is the inability to have one interface that may be used withseveral different types of electronics and vehicles.

Other existing interfaces require extensive sequencing by an installerto configure the interface so that the aftermarket entertainment systemcan be operated by the existing OEM controls. The interface ispre-loaded by the manufacturer with several different possibleconfigurations in memory, then the installer must select the properconfiguration using complex sequencing of pressing buttons andresponding to indicators of the interface during a programming sequence.A shortcoming of this type of interface is that the interface is limitedto function only with those electronics and vehicles that have beenpre-loaded in memory. Thus, as new electronics and vehicles areavailable to the market, the existing interfaces become outdated.Accordingly, there is a need for a method and system to configureaftermarket interface modules that is adapted to be used with severaldifferent electronics and vehicles that will not become outdated as newmodels are available to the public. In addition, there is a need for aninterface module that is easy to configure without extensive sequencingprocedures. However, in view of the prior art at the time the presentinvention was made, it was not obvious to those of ordinary skill in thepertinent art how the identified needs could be fulfilled.

In addition, there is a need to increase the functionality of OEMcontrols. As described above, vehicles often have steering wheelcontrols (e.g., buttons) that can be adapted for use with a newaftermarket radio or other aftermarket electronics. However, in manycases, there are just a few OEM buttons to assign to many possibleaftermarket electronics functions. This results in a less than perfectmapping of the OEM buttons to aftermarket electronics functions.Customers must often choose between two desired functions resulting in acompromise and inability to use all the features that may be availablefor the aftermarket electronics. Accordingly, there is a need for amethod and system to configure aftermarket interface modules thatincreases the functionality of the OEM controls. However, in view of theprior art at the time the present invention was made, it was not obviousto those of ordinary skill in the pertinent art how the identified needscould be fulfilled.

IV. SUMMARY

In a particular illustrative embodiment, a system to configure anaftermarket interface module using a graphical user interface (“GUI”) isdisclosed. The GUI is adapted to display on a computer and an interfacemodule is adapted to connect to the computer. The GUI is configured tobe remotely accessed by the computer using a communication network, suchas the Internet, for example. Alternatively, the computer is configuredto store the GUI locally on the computer rather than using the Internetto access the GUI. The system is adapted to generate a particularcontrol signal configuration using vehicle and aftermarket electronicsinformation selected by a user using the GUI. The interface module isadapted to receive and store the particular control signal configurationgenerated by the GUI. The interface module configured with theparticular control signal configuration can control the aftermarketelectronics with the OEM controls. The electronic device may be, forexample, an aftermarket stereo, an entertainment device, or anycombination thereof, installed in a vehicle.

In another particular illustrative embodiment, a method to configure anaftermarket interface module using a graphical user interface isdisclosed. The method includes connecting the interface module to aremote computer. Also, the method includes generating a particularcontrol signal configuration for the interface module using the GUI andtransferring the particular control signal configuration to theinterface module. In addition, the method includes configuring theinterface module using the particular control signal configuration toenable OEM controls to control an aftermarket electronic device. Themethod may also include accessing the GUI using the computer operablyconnected to a communication network. Alternatively, the user may accessthe GUI stored locally on the computer or wirelessly, or any combinationthereof. The communication network may be the Internet or an intranet.

In another particular illustrative embodiment, a non-transitoryprocessor readable medium having processor instructions that areexecutable to cause a processor to perform certain functions isdisclosed. The instructions may include the processor displaying agraphical user interface (“GUI”) on a computer screen. A vehicle may beselected in response to a user choosing the vehicle from a vehicle dropdown menu using the GUI and display at least one OEM control image(e.g., steering wheel control) on the GUI based at least in part on theselected vehicle. In addition, an aftermarket electronic device may beselected in response to the user choosing the device from a device dropdown menu using the GUI and display at least one OEM control on the atleast one OEM image using the GUI. In addition, the instructions maycause the processor to assign a desired function to the at least one OEMcontrol in response to the user choosing the function from a functiondrop down menu using the GUI and generate a particular control signalconfiguration. The particular control signal configuration may betransferred to an interface module, where the particular control signalconfiguration transferred to the interface module enables an OEM controlto control the aftermarket electronic device via the interface module.

Other aspects, advantages, and features of the present disclosure willbecome apparent after review of the entire application, including thefollowing sections: Brief Description of the Drawings, DetailedDescription, and the Claims.

V. BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic view of an illustrative embodiment of anaftermarket interface module of a system that may be remotely configuredusing a graphical user interface;

FIG. 2 is a schematic view of an illustrative embodiment of ports andwiring that may be used with the aftermarket interface module toremotely configure the interface module and to facilitate communicatebetween OEM controls and an aftermarket radio;

FIG. 3 is an illustrative example of web pages that may be generated bythe system, pertaining to remotely configuring the interface moduleusing a graphical user interface;

FIG. 4 is an illustrative example of web pages that may be generated bythe system, pertaining to configuring the interface module by selectinga particular make of a vehicle;

FIG. 5 is an illustrative example of web pages that may be generated bythe system, pertaining to configuring the interface module by selectinga particular year of the vehicle;

FIG. 6 is an illustrative example of web pages that may be generated bythe system, pertaining to configuring the interface module by selectinga particular model of the vehicle;

FIG. 7 is an illustrative example of web pages that may be generated bythe system, pertaining to displaying an OEM steering wheel andrespective steering wheel controls as a result of selecting the vehiclemake, year and model;

FIG. 8 is an illustrative examples of web pages that may be generated bythe system, pertaining to a first alternative steering wheel andsteering wheel controls;

FIG. 9 is an illustrative example of web pages that may be generated bythe system, pertaining to a second alternative steering wheel andrespective steering wheel controls;

FIG. 10 is an illustrative example of web pages that may be generated bythe system, pertaining to a third alternative steering wheel andrespective steering wheel controls;

FIG. 11 is an illustrative example of web pages that may be generated bythe system, pertaining to configuring the interface module by selectingan aftermarket radio;

FIG. 12 is an illustrative example of web pages that may be generated bythe system, pertaining to configuring the interface module by selectinga particular brand of radio;

FIG. 13 is an illustrative example of web pages that may be generated bythe system, pertaining to configuring the interface module by selectinga particular model of the radio;

FIG. 14 is an illustrative example of web pages that may be generated bythe system, pertaining to displaying OEM systems to retain;

FIG. 15 is an illustrative example of web pages that may be generated bythe system, pertaining to displaying the selected steering wheel andrespective steering wheel controls;

FIG. 16 is an illustrative example of web pages that may be generated bythe system, pertaining to selecting a function to be assigned to eachsteering wheel control located at a first location on the steeringwheel;

FIG. 17 is an illustrative example of web pages that may be generated bythe system, pertaining to selecting a function to be assigned to eachsteering wheel control located at a second location on the steeringwheel;

FIG. 18 is an illustrative example of a wallet card that displays asummary of each function assigned to each steering wheel control;

FIG. 19 is a flow diagram providing an illustrative but non-limitingexample of a method of accessing a GUI used to configure OEM controls;

FIG. 20 is a flow diagram providing an illustrative but non-limitingexample of a method to select a vehicle in which the aftermarketelectronics are to be installed;

FIG. 21 is a flow diagram providing an illustrative but non-limitingexample of a method that may be carried out using the system to remotelyconfigure an aftermarket interface module using a graphical userinterface;

FIG. 22 is a flow diagram providing an illustrative but non-limitingexample of a method to permit a user to select a particular aftermarketelectronic device;

FIG. 23 is a flow diagram providing an illustrative but non-limitingexample of a method to select the OEM controls of the particular vehicleto configure and assign particular functions;

FIG. 24 is a flow diagram providing an illustrative but non-limitingexample of a method to flash program the interface module with acustomized OEM control configuration to operate with a particularvehicle and aftermarket electronics;

FIG. 25 is a schematic of an illustrative embodiment of a system toremotely configure an aftermarket interface module using a graphicaluser interface; and

FIG. 26 is a block diagram of a particular illustrative embodiment of asystem to remotely configure an aftermarket interface module using agraphical user interface.

VI. DETAILED DESCRIPTION

The system and method is a universal OEM control and aftermarketelectronics replacement interface module featuring a web-based GUI. Inaddition, the system and method is the first and only solution offeringcontrol of two or more aftermarket electronics functions from each OEMcontrol. For example, the system and method enables the user to assigntwo or more aftermarket radio functions to each OEM steering wheelbutton. An illustrative embodiment uses “time of press” to determinewhich feature is desired (short press or long press). Alternatively,press count may be used or other means to assign multiple functions. Newbuttons may be created as combinations of existing ones. The system andmethod is the first solution to offer users the ability to assign twofunctions to each OEM control button using an intuitive andrevolutionary web-based user interface.

The OEM controls are detected using either an ADC to detect voltagechanges or using a communication port to read digital information fromthe vehicle databus. In either case, the system and method determineshow long the button is pressed from the received digital messages or thetime the voltage is detected. Using this information, feature 1 orfeature 2 is sent and assigned to this button, for example.

The system and method solves the problems with existing solutions. Itall but eliminates complex programming and the interface module isconfigured quickly and effortlessly via a rich, web-based graphical userinterface. It also reduces the number of individual SKUs required tointerface with all cars. Dealers are able to stock just one interfacemodule and flash at install time with the most current, vehicle-specificfirmware.

The system and method paves the way for a new generation of aftermarkethead units. When paired with a serially connected aftermarket radio,complete command, control and access to all the OEM systems is madepossible. Where a vehicle owner was once dissuaded from upgrading his orher OEM radio due to the cost, complexity and unattractiveness of theexisting solutions, the system and method provides the solution. Headunit manufacturers can completely complement the onboard OEM systemswithout any compromises or tough choices regarding what to give up.

FIG. 1 is a schematic view of an illustrative system to remotelyconfigure aftermarket interface modules using a website graphical userinterface system. The system may be used to permit an individual toconfigure various aspects of operation of an interface module 100 from aremote location. The illustrative system includes an interface module100 having a first port 102 to communicate between the interface 100 andsteering wheel controls of the vehicle 116. A second port 104 of theinterface 100 may be used to update the interface module. A third port106 of the interface 100 is adapted to communicate between the interface100 and an aftermarket stereo 120. A light emitting diode (LED) 108 maybe used as an indicator to a user when configuring the interface 100. Abutton 110 of the interface 100 may also be used, in part, to facilitateconfiguring the interface module 100.

Referring now to FIG. 2, a diagram of an illustrative embodiment ofvehicle wiring 111 that is used to communicate between the OEM controlsof the vehicle 116 and interface 100 is shown. Each wire 111 may besecured to the first port 102 of the interface 100 as required. A USBcable 112 may be used to communicate between the interface 100 and acommunications network 118 such as the Internet, for example.Aftermarket electronics wiring 114 is secured to the third port 106 tocommunicate between the aftermarket electronics 120 and the interface100.

The communications network 118 may include one or more elements thatpermit and facilitate communication between the interface 100 andanother network. In some cases, a router may be a distinct component, insome instances the router may instead be incorporated into theinterface. The router may provide a means of communication between theinterface 100 and a broader network by connecting in any appropriatemanner to the Internet 118. For example, the router may connect to theInternet via a dial-up connection, a broad-band cable connection, a DSLphone line connection, a fiber-optic connection, wirelessly, or anycombination thereof.

A personal computer (PC) may be used to permit a user to view over theInternet the web pages that are provided by the system and method. ThePC may be a desktop computer, a laptop computer or a device that isadapted to display web pages, such as a smart phone or a personaldigital assistant (PDA).

FIG. 3 us an illustrative example of a home web page of the system. Avariety of information may be displayed on the home web page 200. Forexample the information may include a client name 202, a serial number,firmware and hardware identifiers 218. In addition, the information onthe system home page 200 may include tabs that a user may toggle toaccess additional web pages used to enter information to remotelyconfigure the interface module. The tabs may be used to access web pagesto flash by vehicle 220 or flash by favorites 222, for example. The tabsmay also be used to access web pages of a user's custom steering wheel224 and user firmware 226. A server may be adapted to serve up the homeweb page and other web pages generated by the system. Additionally, theserver may be adapted to provide a home web page 200 customized for aparticular user or user class. For example, the information that isdisplayed for a first user may be a set of information previously usedto configure the interface module 100. Accordingly, a user can quicklyconfigure several interface modules 100 using the same, or similar,parameters.

The home web page 200 served up by the system may include a number ofpredetermined configuration options for selection by the user. At leastsome of the predetermined configuration options may be presented in dropdown menus. For example, the predetermined configuration options mayinclude, but are not limited to, choosing a particular vehicle based onthe make 230, year 232 and model 234. In some cases, the interfacemodule 100 may download configuration information from the server. Theinterface module 100 may be flash programmed with a control algorithmthat issues commands to the aftermarket radio 120 based at least in parton the selections made by the user.

In FIG. 3, the system has created, provided or otherwise served up agraphical user interface (GUI) and web page 200 that permits a user tolog in to begin configuring the interface module 100. For example, auser may log in using a PC, but this is not required. The home web page200 may, for example, be accessed and displayed on a computer running athin client application such as Microsoft Internet Explorer. Inalternative embodiments, it is contemplated that the interface module100 itself may have Internet access and web page display functionality.

The system may solicit via a web page a User ID, password, or otheridentifying information. It should be recognized that if a blank spacethat a user may enter information into is shown, other ways of dataentry such as a drop down menu, a series of check boxes or the like maybe used. Similarly, in situations in which a drop down menu is shown,other ways of data entry such as a series of check boxes or blank spacesinto which data may be typed or selected may be used.

Once a user has successfully logged into the system, a home web page 200may displayed that provides an overview. In an illustrative embodiment,the home web page 200 may include common elements that are displayed onmany of the web pages that the system may be adapted to provide. Forexample, the home web page 200 includes a navigation bar 205. Thenavigation bar 205 provides information to a user that pertains tonavigating through the various web pages that are or may be served up bysystem. The navigation bar 205 may be common to many of the web pagesserved up by the system and may include several features. A new releasesbutton 206 permits a user to click and view any new updates to thesystem from a dropdown menu. A products button 208 permits a user toclick and view products that are offered. A firmware button 210 permitsa user to click and view available firmware. An accessories button 212permits a user to click and view available accessories. A support button214 permits a user to obtain assistance for the system. A contact button216 permits a user to click and view contact information. The navigationbar 205 may include a position confirmation indicator, which providesconfirmation of what button has been selected and is currently active.

In FIG. 3, the “Flash By Vehicle” tab 220 has been selected. Within the“Flash By Vehicle” tab 220, it can be seen that a “Choose Your Vehicle”220 heading is displayed with a row of buttons for dropdown menus. Asillustrated, the buttons include a “Select Make” 230, “Year” 232 and“Select Model” 234. Additional buttons (not illustrated) with additionalvehicle information may be included in alternative embodiments.Alternatively, fewer buttons may be included, if desired.

FIG. 4 provides a vehicle make dropdown menu 236 that may be served upby the system if, for example, a user clicks on the “Select Make” 230button. It can be seen that the vehicle make dropdown menu 236 displaysa list of available vehicle makes to permit a user to select. A positionconfirmation indicator provides confirmation of what make has beenselected and is currently active, which now indicates in FIG. 4 that“Cadillac” has been selected, for example.

Moving to FIG. 5, provides a vehicle year dropdown menu 240 that may beserved up by the system if, for example, a user clicks on the “Year” 232button. It can be seen that the vehicle year dropdown menu 240 displaysa list of available years of the vehicle to permit a user to select. Aposition confirmation indicator provides confirmation of what year hasbeen selected and is currently active, which now indicates in FIG. 5that “2009” has been selected, for example.

Referring now to FIG. 6, provides a vehicle model dropdown menu 244 thatmay be served up by the system if, for example, a user clicks on the“Select Model” 234 button. It can be seen that the vehicle year dropdownmenu 244 displays a list of available models of the vehicle to permit auser to select. A position confirmation indicator provides confirmationof what model has been selected and is currently active, which nowindicates in FIG. 6 that “CTS” has been selected, for example.

If a particular vehicle or steering wheel is not listed, the systempermits a user to select the firmware button 210 described above togenerate custom firmware for the interface module to operate with anon-listed vehicle or steering wheel. This is accomplished by takingmeasurements of the steering wheel controls by using a multi-meter, orother similar means, to determine resistance values, for example. Themeasurements are entered using the GUI, which can then automaticallygenerate the appropriate custom firmware for the module to performproperly in the vehicle. The user is able to download the customfirmware and configure the steering wheel controls using the GUI.Accordingly, the method and system may be used with old, new, or unusualvehicles without waiting for firmware updates from the manufacturer thatmust be written by engineers, rather than automatically generated as inthe present method and system.

In FIG. 7, it can be seen that the system serves up web page 250, whichincludes a vehicle pane 252 with an icon or photograph, for example,that identifies the vehicle model, year and make previously selected bythe user. The system then permits a user to select a steering wheel bydisplaying icons or photos of the OEM steering wheels available in thevehicle selected and identified in vehicle pane 252. The OEM steeringwheels 256, 258, 260, 262 are displayed in a row 254. For example, theremay be four different OEM steering wheels that were available asillustrated in FIGS. 7-9. As illustrated, each steering wheel has adifferent arrangement of steering wheel controls that will operate theaftermarket radio.

As a user clicks on one of the steering wheels 256, 258, 260, 262, alarger image of the selected steering wheel is displayed. For example,in FIG. 7, a user selected the left most steering wheel 256 from the row254 of steering wheels, which then a larger image 264 is displayed ofthe smaller image 256. The larger image 264 may include left sidesteering wheel controls 267 and right side steering wheel controls 269.The user may click a confirm button 270 if the steering wheel andsteering wheel controls displayed is the OEM steering wheel that will beconfigured to function with the aftermarket stereo.

Alternatively, the user may scroll through to the additional steeringwheels using a forward arrow 268 or back arrow 266, as illustrated inFIG. 8 for example. Referring to FIG. 8, a larger image 272 of anothersteering wheel 258 is displayed. The user is able to view the steeringwheel 272 to determine if that is the steering wheel that is in theirvehicle and will be used to operate the aftermarket radio. Selecting asteering wheel based on the user viewing an image of the actual steeringwheels, provides a quick and easy system and method that eliminatesmistakes in configuring steering wheel controls to function with anaftermarket radio.

The next steering wheel 260 has been selected by the user as illustratedin FIG. 9. The larger steering wheel image 274 is displayed and the usercan verify whether the steering wheel controls 275, 277 are those thatare in the vehicle in which the aftermarket stereo is installed. If thesteering wheel image 274 is not the desired steering wheel, then theuser may select the forward arrow 268 or back arrow 266 to move to thenext steering wheel. Once the user determines that the selected steeringwheel includes the steering wheel controls that are to be configured,the user may click the confirm button 270 to move to configuring afunction of each of the steering wheel controls.

After the user clicks the forward arrow 268, the fourth available OEMsteering wheel 276 is displayed. As explained above, the larger image276 displays the steering wheel controls 278, 279 so that the user maydetermine whether the steering wheel selected is the appropriatesteering wheel. The confirm button 270 may be clicked by the user ifthis particular steering wheel image 276 represents the steering wheelcontrols to be configured. Otherwise, the user may select the backbutton 266 to go back and view the previous steering wheels 256, 258,260.

In FIG. 11 after selecting the vehicle 228 and the desired steeringwheel 254, the system may permit the user to choose the particularaftermarket radio 300 using drop down menus that may be served up by thesystem. For example, the user may click on “Select Brand” 302 and“Select Model” 304 buttons. It can be seen in FIG. 12 that the radiodropdown menu 302 displays a list of available radio brands to permit auser to select. A position confirmation indicator provides confirmationof what brand has been selected and is currently active, which nowindicates in FIG. 12 that “Blaupunkt” has been selected, for example.

Moving to FIG. 13, a radio model dropdown menu 310 may be provided thatmay be served up by the system. It can be seen that the radio modeldropdown menu 310 displays a list of available models of the radio topermit a user to select. After selecting, the radio brand and model isdisplayed 312 to the user as illustrated in FIG. 14.

The system permits the user to select which OEM systems to retain 314.In pane 316, the selected steering wheel and controls may be selectedand move to configuring each of the steering wheel controls asillustrated in FIG. 15.

As shown in FIG. 15, web page 320 may be served up by the system andinclude information pertaining to a number of different steering wheelcontrols 324, 338 to be configured 322. In some instances, it may bedesirable to obtain greater information regarding a specific steeringwheel control. Each steering wheel control (i.e., button) may be labeledusing any appropriate nomenclature. For example, a steering wheelcontrol may be labeled in accordance with its physical location on thesteering wheel or any other desired naming system or plan.

By reading a row across the columns 326, 328, 330, one can see that eachsteering wheel control function is displayed for controls on the leftside of the steering wheel 324. For example, the first column has asteering wheel control labeled as “Source” 332. The next column 328indicates that if the steering wheel control is pressed once, that the“source” function is activated. The next adjacent column 330 indicatesthat if the steering wheel control is pressed and held 330, that the“power” function is activated. Similarly, controls on the left side ofthe steering wheel 338 are displayed on web page 320 with functions ofeach steering wheel control in rows and columns. In the first column of“Buttons,” each button that is available to be configured is listed. Forexample, the buttons (i.e., steering wheel controls) may include “VolumeUp,” “Volume Down,” “Track Up/Preset Up,” “Track Down/Preset Down/OnHook,” and “Voice/Off Hook.” Moving to the next adjacent column 342, afirst function is identified to be operative when the respective buttonis pressed once and a second function when the respective button ispressed and held. It can be seen that the functions currently assignedto the steering wheel controls were configured by the OEM and intendedto work with the OEM radio.

In addition, non-media orientated controls can also be configured tocontrol their primary function as well as configured with additionalfunctions to control an aftermarket radio. For example, the steeringwheel may only have cruise control buttons. The system and method allowsthe cruise control buttons to be configured with an additional functionto also control audio. For example, the cruise control button willperform its primary function, but can also be configured to control theaudio when the cruise control button is held down or using apre-determined number of presses.

The user moves a curser over one of the steering wheel controls or therow with the listed button that is intended to be configured to operatewith the aftermarket radio. Referring to FIG. 16, the “Source” button332, for example, has been selected to be configured and a dropdown menu378 is displayed. The dropdown menu 378 indicates that the “Source”button pressed once 380 will control the source 382 and allow the userto scroll the available sources by pressing the button in succession.Likewise, the dropdown menu 378 indicates that the “Source” buttonpressed and held down 384 will control the power 386 to the radio.

Moving to the right side steering wheel controls, a positionconfirmation indicator provides confirmation of what button has beenselected and is currently active, which now indicates in FIG. 17 thatthe “Voice/Off Hook” has been selected. A drop down menu 390 isdisplayed and indicates when the “Voice/Off Hook” is pressed once isconfigured to answer a telephone call. The “Voice/Off Hook” button waspreviously not configured to have any function when the button waspressed and held as can be seen in FIG. 16. However, the system expandsthe functionality of each button by allowing at least two functions tobe assigned to it as illustrated in FIG. 17. The “Voice/Off Hook” buttonhas now been configured and assigned a second function of “mute” whenthe button is pressed and held. The steering wheel controls 324, 338 caneach be configured to provide at least two functions.

Referring now to FIG. 18, a wallet card 402 may be generated tomemorialize the configuration of the steering wheel controls for futurereference. It can be seen that a first heading 404 contains thefunctions assigned to each of the steering wheel controls and a secondheading 406 includes the particular information of the vehicle andaftermarket radio. A first column 405 identifies each of the buttons408, which includes in the illustrative embodiment of “Volume Up” 410,“Volume Down” 412, “Track Up/Presetup” 414, “Track Down/Preset DownOnhook” 416, “Source” 418, and “Voice/Off Hook” 420. Reading across eachrow associated with each button, it can be seen the functions assignedand configured to each button 410, 412, 414, 416, 418, 420. For example,under the column 407 to press the “Source” button 418 once, the “DisplayInfo/Text” function is toggled and under the adjacent column when the“Source” button 418 is pressed and held, the “Mute” function of theradio is toggled. The wallet card 402 also includes the vehicleinformation 422 of make, year and model 422. The radio information 424includes the brand and model. A print button 426 permits a user to printthe wallet card 402 with the configuration of the steering wheelcontrols.

The interface module is connected to the GUI via the computer and flashprogrammed with the particular control signal configuration generated bythe GUI, which is based on the user selections for the OEM controls andaftermarket electronics described above. The interface module will thencause the OEM controls to operate the aftermarket electronics inaccordance with the user's selections when connected to the aftermarketelectronics and the OEM controls.

Referring now to FIG. 19, a particular illustrative method of accessinga graphical user interface (GUI) used in configuring steering wheelcontrols for an aftermarket radio is described. The method permits auser, at 502, to access a web based configuration system via theInternet. Continuing to 504, the user is authorized to access theconfiguration system. A home page is displayed to begin configuration ofan interface module for an aftermarket stereo, at 506.

FIG. 20 describes a method to select a vehicle in which the aftermarketradio is to be installed. At 510, a vehicle dropdown menu is provided ona home page of the GUI. A user is permitted to select a make of avehicle from a vehicle make dropdown menu, at 512. Moving to 514, a useris permitted to select a year of the vehicle from a vehicle yeardropdown menu. Continuing to 516, a user is permitted to select a modelof the vehicle from a vehicle model dropdown menu. A vehicle image isdisplayed that represents the vehicle selected using the vehicle make,year, and model selected previously, where the user may confirm that theimage is that of the steering wheel and controls that are to beconfigured.

FIG. 21 describes a method to display a web page that displays an imageof each of the OEM steering wheels available for the selected vehicle,at 520. At 522, a user is permitted to select a steering wheel from theimages that represent the actual steering wheel controls of the user'sselected vehicle. If a particular vehicle or steering wheel is notlisted, the method permits a user to select the firmware button 210described above to generate custom firmware for the interface module tooperate with a non-listed vehicle or steering wheel. This isaccomplished by taking measurements of the steering wheel controls byusing a multi-meter, or other similar means, to determine resistancevalues, for example. The measurements are entered using the GUI, whichcan then automatically generate the appropriate custom firmware for themodule to perform properly in the vehicle. The user is able to downloadthe custom firmware and configure the steering wheel controls using theGUI. Accordingly, the method and system may be used with old, new, orunusual vehicles without waiting for firmware updates from themanufacturer that must be written by engineers, rather thanautomatically generated as in the present method and system.

FIG. 22 describes a method to permit a user to select a particularaftermarket radio that will be installed in the vehicle and the steeringwheel controls configured to operate that particular aftermarket radio.At 530, a radio drop down menu is provided on the home page of the GUI.Moving to 532, the user selects a brand of radio from a radio drop downmenu. The user selects a model of the radio from the radio model dropdown menu, at 534.

FIG. 23 describes a method to select the steering wheel controls of theparticular vehicle to configure and assign particular functions. At 540,a web page is displayed that displays an image of the steering wheelcontrols of the user's selected vehicle. A table is displayed, at 542,that represents each steering wheel control and its correspondingfunction from the OEM. Continuing to 544, a user selects a particularsteering wheel control (e.g., button) from the image, or the table, toconfigure and assign a desired first function. The user may alsoconfigure a second function to that particular steering wheel control,at 546. For example, the first function is activated when the steeringwheel control is pressed once. The second function is activated when thesteering wheel control is pressed and held. Each steering wheel controlmay be configured in a similar fashion.

FIG. 24 describes a method to flash program the interface module with acustomized steering wheel control configuration to operate with aparticular vehicle and radio. At 550, a table is displayed thatrepresents a desired user configuration of each steering wheel controland its corresponding function to control the radio. The user, at 552,accepts or rejects the desired user configuration that is displayed.Continuing to 554, the interface module is flash programmed with theuser configuration via the Internet. Once the interface module hasstored the user configuration, the interface module is adapted toreceive signals from each steering wheel control and transmit to andcontrol the functions of the aftermarket stereo.

A schematic of a particular illustrative embodiment of the system isshown in FIG. 25. As described above, the system includes an interfacemodule 100 that is used to receive and transmit OEM control signals tocontrol an aftermarket electronics device. The interface module 100 isconnected to a computer 602. The connection can be through a USBconnection, wirelessly, or some other connection. The computer 602 isconnected to the configuration system 604 (the “GUI”) through acommunications network 118 such as the Internet or an intranet. Theconfiguration system 604 refers to the system and method described abovein FIGS. 3-24 used to generate and transmit the control signalconfiguration to the interface module 100 that allows the OEM controlsto control an aftermarket electronics device. The configuration system604 may reside on the local compute 602 or on a remote server. Theconfiguration system 604 may be updated with the most recentconfiguration data required for OEM controls to control aftermarketelectronics. Accordingly, any user can access the configuration systemto obtain the most recent configuration data irrespective when theinterface module was manufactured or released for sale. The interfacemodule is relatively static with the contemporaneously updatingoccurring through the configuration system 604.

A block diagram of a particular illustrative embodiment of theconfiguration system 604 is disclosed in FIG. 26. The configurationsystem 604 (the “GUI”) includes a computing device having at least oneprocessor 606 and a memory 608 that is accessible to the processor 606.The memory 608 includes media that is readable by the processor 606 andthat stores vehicle data 610, stereo data 612 (i.e., aftermarketelectronics), configuration data 614 and program instructions that areexecutable by the processor 606. Additionally, the computing deviceincludes at least one means of user input 616, either keyboard, mouse,light pen, track ball, track pad, joy stick, graphics tablet, touchscreen, or other GUI pointing device or any combination thereof that isaccessible to the processor 606. Additionally, the computing device 110having at least one means of user display, either a cathode ray tube(CRT) display, liquid crystal display (LCD), light emitting diode (LED)display, plasma display, or other GUI display device that is accessibleto the processor 606. Additionally, the processor 606 monitors,processes and reacts to user input from the input device 616 anddisplays screen pointer movements and GUI elements using a display,synchronizes the user pointer input actions to the GUI output actions,and processing the combined GUI actions to generate the particularcontrol signal configuration to flash program the interface module.

The steps of a method or algorithm described in connection with theembodiments disclosed herein may be embodied directly in hardware, in asoftware module executed by a processor, or in a combination of the two.A software module may reside in random access memory (RAM), flashmemory, read-only memory (ROM), programmable read-only memory (PROM),erasable programmable read-only memory (EPROM), electrically erasableprogrammable read-only memory (EEPROM), registers, hard disk, aremovable disk, a compact disc read-only memory (CD-ROM), or any otherform of storage medium known in the art. An exemplary storage medium iscoupled to the processor such that the processor can read informationfrom, and write information to, the storage medium. In the alternative,the storage medium may be integral to the processor. The processor andthe storage medium may reside in an application-specific integratedcircuit (ASIC). The ASIC may reside in a computing device or a userterminal. In the alternative, the processor and the storage medium mayreside as discrete components in a computing device or user terminal.

Those of skill would further appreciate that the various illustrativelogical blocks, configurations, modules, circuits, and algorithm stepsdescribed in connection with the embodiments disclosed herein may beimplemented as electronic hardware, computer software, or combinationsof both. To clearly illustrate this interchangeability of hardware andsoftware, various illustrative components, blocks, configurations,modules, circuits, and steps have been described above generally interms of their functionality. Whether such functionality is implementedas hardware or software depends upon the particular application anddesign constraints imposed on the overall system. Skilled artisans mayimplement the described functionality in varying ways for eachparticular application, but such implementation decisions should not beinterpreted as causing a departure from the scope of the presentdisclosure.

What is claimed is:
 1. A method to configure an interface module using agraphical user interface (“GUI”), the method comprising: generating aparticular control signal configuration for the interface module usingthe GUI; and transferring the particular control signal configuration tothe interface module, wherein the interface module is configured toenable an original equipment manufacturer (“OEM”) control to control anaftermarket electronic device.
 2. The method of claim 1, furthercomprising accessing the GUI using a computer operably connected to acommunication network.
 3. The method of claim 1, further comprisingaccessing the GUI stored locally on the computer.
 4. The method of claim2, wherein the communication network is the Internet or intranet.
 5. Themethod of claim 1, further comprising storing the particular controlsignal configuration to enable transfer of the particular control signalconfiguration to a second interface module.
 6. The method of claim 5,wherein the GUI is adapted to assign one or more functions to each OEMcontrol.
 7. The method of claim 6, wherein the aftermarket electronicdevice is a stereo, an entertainment device, or any combination thereof,installed in a vehicle.
 8. The method of claim 7, further comprisingselecting a vehicle from a vehicle drop down menu using the GUI.
 9. Themethod of claim 7, further comprising: taking a measurement of a valueof the OEM control; and entering the value using the GUI toautomatically generate firmware for the interface module when thevehicle is not listed in the vehicle drop down menu.
 10. The method ofclaim 8, further comprising displaying at least one steering wheel imageon the GUI based at least in part on the selected vehicle.
 11. Themethod of claim 9, further comprising selecting the electronic devicefrom a device drop down menu using the GUI.
 12. The method of claim 10,further comprising assigning a function to the OEM control thatcorresponds to a button displayed on the steering wheel image using theGUI.
 13. A system to configure an interface module, the systemcomprising: a graphical user interface (“GUI”) adapted to display on acomputer; and a particular control signal configuration generated by theGUI, wherein the GUI is adapted to transmit the particular controlsignal configuration to the interface module that is used to controlaftermarket electronics with original equipment manufacturer (“OEM”)controls.
 14. The system of claim 13, wherein the GUI is configured tobe remotely accessed using a communication network.
 15. The system ofclaim 13, wherein the computer is configured to store the GUI locally onthe computer.
 16. The system of claim 14, wherein the communicationnetwork is the Internet or intranet.
 17. The system of claim 13, whereinthe GUI configures the interface module to assign one or more functionsto each OEM control.
 18. The system of claim 17, wherein the electronicdevice is an aftermarket stereo, an entertainment device, or anycombination thereof, installed in a vehicle.
 19. The system of claim 18,the GUI further comprising a vehicle drop down menu to select a vehicle.20. The system of claim 18, further comprising: custom firmware, whereinthe custom firmware is automatically generated for the interface moduleusing a measurement of a value of the OEM control when the vehicle isnot listed in the vehicle drop down menu.
 21. The system of claim 19,the GUI further comprising at least one steering wheel image adapted todisplay on the GUI based at least in part on the selected vehicle.
 22. Anon-transitory processor readable medium having processor instructionsthat are executable to cause a processor to: display a graphical userinterface (“GUI”) on a computer screen; select a vehicle in response toa user choosing the vehicle from a vehicle drop down menu using the GUI;display at least one steering wheel image on the GUI based at least inpart on the selected vehicle; select an aftermarket electronic device inresponse to the user choosing the device from a device drop down menuusing the GUI; display at least one original equipment manufacturer(“OEM”) control on the at least one steering wheel image using the GUI;assign a desired function to the at least one OEM control in response tothe user choosing the function from a function drop down menu using theGUI; generate a particular control signal configuration; and transferthe particular control signal configuration to an interface module,wherein the particular control signal configuration enables an OEMcontrol to control the aftermarket electronic device via the interfacemodule.
 23. A method to configure an interface module, the methodcomprising: assigning two or more functions to each original equipmentmanufacturer (“OEM”) control; generating a particular control signalconfiguration for the interface module; and transferring the particularcontrol signal configuration to the interface module, wherein theinterface module is configured to enable the OEM control to control anaftermarket electronic device.
 24. A system to configure an interfacemodule, the system comprising an interface module having a particularcontrol signal configuration to control aftermarket electronics withoriginal equipment manufacturer (“OEM”) controls, wherein two or morefunctions are adapted to be assigned to each OEM control by the system.